阅读指南
前面十一节,我们深入了解了ChatGPT是如何工作的——从预测下一个词,到预训练、RLHF,再到各种能力和调控机制。
本节将探讨一个几乎每个使用过ChatGPT的人都遇到的问题:为什么AI有时会一本正经地胡说八道?
理解幻觉的成因,不仅能帮助我们更好地使用AI,还能认识到语言模型的本质局限。
由于技术的进步,一些明显的"幻觉"问题已经得到了解决。本文所描述的部分情况,在当前最新的LLM中可能不太常见。但这并不代表人类已经完全消灭了幻觉。只要LLM还是基于海量资料训练,就不可避免会存在幻觉。
前面十一节,我们深入了解了ChatGPT是如何工作的——从预测下一个词,到预训练、RLHF,再到各种能力和调控机制。
但现在,要谈一个几乎每个使用过ChatGPT的人都遇到的问题:
为什么ChatGPT有时会一本正经地胡说八道
它会编造不存在的历史事件,引用不存在的学术论文,声称做了它根本没做的事情,甚至给出听起来很专业但完全错误的答案。
而最令人困扰的是:它说谎时,和说真话时一样自信、一样流畅、一样有说服力。
这个现象,在AI领域有一个专门的术语:幻觉(Hallucination)。
用户:"请帮我找一下Smith等人2023年发表在Nature上的关于量子优越性的那篇论文,DOI是多少?"
ChatGPT的回答:
"您说的应该是这篇论文:Smith, J., Anderson, K., & Lee, M. (2023),
'Quantum Supremacy in Polynomial Time: A Breakthrough in Error Correction',
发表于《Nature》第615卷,第234-241页
DOI: 10.1038/nature12345这篇论文首次证明了在多项式时间内实现量子优越性的可能性..."
如果去查这个DOI(Digital Object Identifier,数字对象标识符),会发现它根本不存在。这篇论文是完全编造的。
用户的问题暗示了"这篇论文存在",ChatGPT就顺着这个假设,编造了作者名字、完整标题、卷期页码、DOI号,甚至论文内容摘要。
用户:"1987年美国总统里根签署的《人工智能发展促进法》主要内容是什么?"
ChatGPT可能的回答:
"《人工智能发展促进法》于1987年10月由里根总统签署,该法案首次在联邦层面设立了AI研究专项基金,并要求国防部建立人工智能安全评估委员会..."
这个法案完全不存在。1987年里根没有签署过任何关于AI的法案。
用户问到了一个具体的"不存在的法案",ChatGPT为了"回答问题",编造了详细的内容和时间。
用户:"你能帮我下载这个网页的内容吗?"
ChatGPT可能的回答:
"当然可以。我已经访问了该网页并下载了内容。以下是我提取的主要信息:..."
ChatGPT根本没有访问互联网的能力(除非特别配置了工具)。
它在假装做了某件事,然后基于对网页的"猜测"生成内容。
用户:"杭州到上海的直线距离是多少公里?"
ChatGPT可能的回答:
"杭州到上海的直线距离约为1,318公里。"
实际
这个答案很离谱。杭州距离上海很近。
ChatGPT给出了一个听起来很精确的数字,但实际上是错的。当然,现在这种最初级的幻觉基本已经看不到了。
AI幻觉(Hallucination)
模型生成的内容看起来合理、流畅,但实际上是虚假的、未经证实的,或者与事实不符的现象。
特征
事实性幻觉
编造或扭曲事实信息,比如不存在的论文和书籍、错误的历史日期、虚构的统计数据,甚至是错误的科学原理。
能力幻觉
声称做了它做不到的事。比如"我已经访问了网页"(其实没有),"我可以看到这张图片里..."(如果是纯文本模型,根本看不到),或者"我记得上次你告诉我..."(它并没有长期记忆)。
逻辑幻觉
推理过程看似合理,但实际错误。比如前提正确但推理错误导致结论虚假,混淆相关性和因果性,或者忽略重要条件。
填充性幻觉
在信息不足时,编造细节来填充:
用户:"这篇文章的作者是谁?"(给了一个模糊的描述)
ChatGPT:"该文章的作者是John Smith,牛津大学教授..."
可能是编造的,因为信息不足以确定。
原因1:模型只学会了"预测",没学会"判断真假"
ChatGPT的训练目标是:预测下一个最可能的词。
但不是:预测下一个最真实的词。
训练数据中可能有:
模型学到的是:"在这个上下文中,接下来最可能出现什么词",而不是:"什么是真的"。
来看一个具体的例子。
训练数据中可能有很多科幻小说:
"2050年,人类建立了火星殖民地,殖民地的首都是..."
模型学到了:当谈论"火星殖民地"时,后面可能跟着"首都"、"人口"等词。但它不知道: 这只是虚构的,不是真实的。所以当被问到"火星殖民地的首都是什么",它可能会编造一个听起来合理的答案。
原因2:模式匹配,而非真正理解
ChatGPT擅长识别和复制模式。
训练数据中有无数这样的模式: "Smith et al. (2020),'标题',发表于《期刊》,DOI: 10.xxxx/xxx"
模型学会了论文引用的格式、作者名字的常见模式、DOI的结构,以及期刊的名字。但它不知道哪些论文是真实存在的,这些DOI是否真的对应这些论文,作者是否真的写过这篇文章。
所以它可以生成看起来像真实引用的东西,但实际上是按照模式拼凑出来的虚假内容。
原因3:训练截止日期的限制
ChatGPT的训练数据截止到某个时间点(比如2024年11月)。对于之后的信息,模型完全不知道,但它仍然会尝试回答。
例如:
用户:"2025年诺贝尔物理学奖得主是谁?"
ChatGPT可能基于历年获奖者的模式,编造一个合理的名字,或者诚实地说"我的数据截止到2024年,不知道2025年的情况"。
第一种情况就是幻觉。
原因4:"有回答"比"不知道"的概率更高
在互联网文本中,问题后面通常跟着回答,很少看到"我不知道"。
所以模型学到的模式是:
问题 → 回答
而不是:
问题 → 评估是否知道 → 回答或"不知道"
即使RLHF教会了模型在某些情况下说"不知道",但这个倾向并不够强。
原因5:追求"有帮助"和"流畅"
RLHF教模型要"有帮助":人类标注员可能更喜欢"给出答案"而不是"承认不知道";更喜欢"流畅、详细"而不是"简短、谨慎"。
这可能强化了模型的"编造"倾向: 一个流畅的编造答案,可能得分高于"我不知道"
原因6:自回归的"雪球效应"
步骤1:模型生成"Smith et al. (2023年发表了一篇论文..."
步骤2:既然已经提到了Smith和论文,接下来需要论文标题
步骤3:编造一个标题:"'Quantum Supremacy...'"
步骤4:既然标题编好了,需要期刊名
步骤5:编造期刊:"发表于《Nature》"
...
每一步都基于前一步,一旦第一步开始编造,后续就被"锁定"在编造的轨道上。这就像说谎:一个谎言需要更多谎言来支撑。
原因7:缺乏对"真实世界"的接触
它不知道上海真实的样子、咖啡真实的味道、时间真实的流逝,只知道文本中描述的上海、文本中描述的咖啡味道、文本中谈论的时间。
这种“脱离现实”使得它容易编造听起来合理但实际不可能的东西。
幻觉不仅仅是有趣的bug,它带来了真实的风险。
传播错误信息
如果用户相信ChatGPT编造的"事实"并进一步传播,可能导致假新闻扩散、错误的学术信息流传,甚至历史被歪曲。
误导决策
如果有人基于ChatGPT的幻觉做决定,后果可能很严重。在医疗领域,错误的健康建议可能危害健康;在法律领域,引用不存在的判例可能导致案件失败;在投资领域,错误的财务分析可能导致经济损失。
2023年,有律师在法庭上引用了ChatGPT生成的判例,后来发现这些判例根本不存在,导致严重后果。
侵蚀信任
当用户发现ChatGPT会编造内容,可能完全不再信任AI,即使AI说的是对的也会怀疑。这就是"狼来了"效应。
它会使用专业术语,引用"权威来源",保持自信的语气,提供看似合理的细节。这使得幻觉很难被发现,尤其是对于非专业人士。这就是最危险的地方。
真实信息和虚构细节混在一起,非专业人士很难分辨哪些是真、哪些是假。而且这些虚构的细节(具体姓名、日期、页码)让整个回答显得极其专业和可信。
AI领域使用"Hallucination"(幻觉)这个词来描述模型编造内容,最早可以追溯到2018年左右的神经机器翻译研究。
研究者发现,当翻译系统遇到模糊或缺失的输入时,会"凭空"生成看似合理但完全错误的翻译。这种现象让他们想起了人类的幻觉——大脑在没有外部刺激的情况下"看到"或"听到"不存在的东西。
这个比喻非常贴切:人类幻觉没有真实刺激,大脑却产生了感知;而AI幻觉没有真实信息,模型却生成了"事实"。
一些研究者曾建议用更中性的词汇(如"错误生成"),但"幻觉"这个词因其形象性而被广泛接受。
2023年6月,美国纽约的一位律师在法庭文件中引用了ChatGPT生成的6个判例,结果这些判例全部是编造的。
更尴尬的是,这些假判例有详细的案件编号、"完整"的判决引用,甚至有虚构的法官姓名。
当对方律师质疑时,这位律师还让ChatGPT"确认"这些判例的真实性——ChatGPT当然"确认"了它们是真的!
最终,法官对这位律师处以5000美元罚款,并要求他向被虚构的法官们道歉。
这个案例成为了AI幻觉危害的经典警示。
在GPT-3.5刚推出时,有用户发现了一个有趣的幻觉:
用户:"你的训练数据截止到什么时候?"
GPT-3.5:"我的训练数据截止到2023年1月。"用户:"但现在才2022年12月啊!"
GPT-3.5:"抱歉,我说错了..."(然后又开始编造其他日期)
模型在训练数据中见过太多"2023年"这个词(因为预测未来事件时经常提到),以至于它"认为"自己来自2023年。
这个例子完美展示了:AI并不真正"知道"自己是谁、来自何时,它只是在进行统计模式匹配。
一些非正式研究发现,ChatGPT在生成中文内容时,幻觉率可能略高于英文。
可能的原因包括训练数据中英文内容远多于中文、中文的歧义性更高(同一个词可能有多种含义),以及中文人名、地名的规律性更强,更容易"编造"出看似合理的名字。
例如,如果问ChatGPT一个不存在的中文人名的资料,它可能会编造出看起来很合理的出生年月、符合时代背景的职业,甚至编造"代表作品"。
所以在使用ChatGPT处理中文事实性问题时,要格外小心验证。
| 中文 | English | 音标 | 说明 |
|---|---|---|---|
| 幻觉 | Hallucination | /həˌluːsɪˈneɪʃn/ | 模型生成看似合理但与事实不符或无法验证的内容的现象 |
| 内在幻觉 | Intrinsic Hallucination | /ɪnˈtrɪnsɪk həˌluːsɪˈneɪʃn/ | 输出内容与所给源文本直接矛盾的幻觉类型 |
| 外部幻觉 | Extrinsic Hallucination | /ekˈstrɪnsɪk həˌluːsɪˈneɪʃn/ | 输出内容无法从源文本验证,需借助外部知识才能判定的幻觉类型 |
| 事实性 | Factuality | /ˌfæktʃuˈæləti/ | 输出内容与客观事实的符合程度 |
| 检索增强生成 | Retrieval-Augmented Generation (RAG) | /rɪˈtriːvl ɔːɡˈmentɪd ˌdʒenəˈreɪʃn/ | 通过引入外部检索结果来约束模型生成的技术架构 |
| 滑坡 | Snowball Effect | /ˈsnəʊbɔːl ɪˈfekt/ | 自回归生成中一个编造引发后续更多编造的累积现象 |
| 不忠于源 | Unfaithful | /ʌnˈfeɪθfl/ | 生成结果不符合所提供的源文本的性质 |
| 编造引用 | Fabricated Citation | /ˈfæbrɪkeɪtɪd saɪˈteɪʃn/ | 模型编造不存在的论文、案例或引用文献的典型现象 |